package com.maistars.spider.service.domain.render;

import com.maistars.spider.service.render.handler.HtmlHandler;
import lombok.Data;
import org.apache.http.cookie.Cookie;

import java.net.CookieStore;
import java.util.HashMap;
import java.util.Map;

/**
 * @author dhr
 * @date 2021/11/21 下午2:01
 */
@Data
public class RenderConfig {

    /**
     * 是否启用JS
     * JSON，XML解析类型的网页，建议选否
     * 正常HTML解析类目的网页，建议选是
     */
    private Boolean enableJavascrip = true;

    /**
     * 请求的方法(get,post)，默认为get请求
     */
    private String method;
    /**
     * 请求的来源地址(默认为请求的目标地址被提取出来的页面的地址)
     */
    private String referrer;
    /**
     * 浏览器标志
     */
    private String userAgent;

    /**
     * 当前请求时的携带的cookie信息
     */
    private Map<String, Cookie> cookies = new HashMap<>();
    /**
     * 当前请求时的请求头
     */
    private Map<String, String> headers = new HashMap<>();

    /**
     * 额外的参数信息
     */
    private Map<String,String> extraParams = new HashMap<>();

    /**
     * 页面连接失败，重试次数
     */
    private Integer retryNum;

    /**
     * 连接超时时间,秒为单位
     */
    private Integer pageLoadTimeout = 30;

    /**
     * 脚本超时时间,秒为单位
     */
    private Integer scriptLoadTimeout = 30;

    /**
     * 是否动态获取页面，也就是否滚屏获取
     */
    private Boolean dynamic;

    /**
     * 浏览器长
     */
    private Integer width = 1300;

    /**
     * 浏览器宽
     */
    private Integer height = 1300;

    /**
     * 渲染时的html处理插件
     */
    private HtmlHandler htmlHandler;

}
